<?php

include_once ('bd/ModeloBD.php');

class ModeloUsuario extends ModeloBD {

    private $usucodsx;
    private $dependcodsx;
    private $grucodsx;
    private $tipodicodsx;
    private $provinciacodsx;
    private $usudi;
    private $usunombre;
    private $usuapellido;
    private $ususexo;
    private $usufechanacimiento;
    private $usutelefono1;
    private $usutelefono2;
    private $usudireccion;
    private $usuciudad;
    private $usucorreo;
    private $usulogin;
    private $usupasswd;
    private $usupasswdfechaven;
    private $usufoto;
    private $usuestado;
    private $usucodigo;
    private $usuplan;
    private $usunombrecompleto;

    public function __construct($usucodsx = "", $dependcodsx = "", $grucodsx = "", $tipodicodsx = "", $provinciacodsx = "", $usudi = "", $usunombre = "", $usuapellido = "", $ususexo = "", $usufechanacimiento = "", $usutelefono1 = "", $usutelefono2 = "", $usudireccion = "", $usuciudad = "", $usucorreo = "", $usulogin = "", $usupasswd = "", $usupasswdfechaven = "", $usufoto = "", $usuestado = "", $usucodigo = "", $usuplan = "", $usunombrecompleto = "") {
        $this->_oBaseDatos = CBaseDatos::get_instancia();
        $this->_oBaseDatos->conectar();
        $this->_sTabla = "usuario";
        $this->usucodsx = $usucodsx;
        $this->dependcodsx = $dependcodsx;
        $this->grucodsx = $grucodsx;
        $this->tipodicodsx = $tipodicodsx;
        $this->provinciacodsx = $provinciacodsx;
        $this->usudi = $usudi;
        $this->usunombre = $usunombre;
        $this->usuapellido = $usuapellido;
        $this->ususexo = $ususexo;
        $this->usufechanacimiento = $usufechanacimiento;
        $this->usutelefono1 = $usutelefono1;
        $this->usutelefono2 = $usutelefono2;
        $this->usudireccion = $usudireccion;
        $this->usuciudad = $usuciudad;
        $this->usucorreo = $usucorreo;
        $this->usulogin = $usulogin;
        $this->usupasswd = $usupasswd;
        $this->usupasswdfechaven = $usupasswdfechaven;
        $this->usufoto = $usufoto;
        $this->usuestado = $usuestado;
        $this->usucodigo = $usucodigo;
        $this->usuplan = $usuplan;
        $this->usunombrecompleto = $usunombrecompleto;
    }

    public function buscarUsuarioBy($usulogin, $usupasswd) {
        $arUsuario = null;
        $sSQL = "
            SELECT *
            FROM $this->_sTabla
            WHERE usulogin='$usulogin' and usupasswd='$usupasswd'";
        $arUsuario = $this->query_object($sSQL);
//        var_dump($arUsuario['usuario'][0]['usucodsx']); //QUERY
//        var_dump($arUsuario[0]->usucodsx); //QUERY_OBJECT
        return $arUsuario;
    }
        public function buscarEmpresaByUsuario($usucodsx) {
        $arUsuario = null;
        $sSQL = "
            SELECT b.*
            FROM $this->_sTabla a, empresa b
            WHERE a.usucodsx=b.usucodsx and a.usucodsx=$usucodsx";
        $arUsuario = $this->query_object($sSQL);
        
//        var_dump($arUsuario['usuario'][0]['usucodsx']); //QUERY
//        var_dump($arUsuario[0]->usucodsx); //QUERY_OBJECT
        return $arUsuario;
    }

    public function crearUsuario() {
        $grucodsx = $this->grucodsx;
        $usulogin = $this->usulogin;
        $usudi = $this->usudi;
        $usunombre = $this->usunombre;
        $usuapellido = $this->usuapellido;
        $usudireccion = $this->usudireccion;
        $usupasswd = $this->usupasswd;
        $usucorreo = $this->usucorreo;
        $usutelefono1 = $this->usutelefono1;
        $usupasswdfechaven = $this->usupasswdfechaven;
        $usucodigo = $this->usucodigo;
        $usuplan = $this->usuplan;
        $usunombrecompleto = $this->usunombrecompleto;

        $sSQL = "INSERT INTO $this->_sTabla
               (dependcodsx, grucodsx,tipodicodsx,provinciacodsx,usudi,usunombre,usuapellido,ususexo,usufechanacimiento,usutelefono1,usutelefono2,usudireccion,usuciudad,usucorreo,usulogin,usupasswd,usupasswdfechaven,usufoto,usuestado,usucodigo,usuplan,usunombrecompleto)
               VALUES(null,'$grucodsx',null,null,'$usudi','$usunombre','$usuapellido',null,null,'$usutelefono1','','$usudireccion','','$usucorreo','$usulogin','$usupasswd','$usupasswdfechaven','',1,'$usucodigo','$usuplan','$usunombrecompleto')";

        $this->execute($sSQL);
    }

    public function getUsuarioById($usucodsx) {
        $arUsuarios = null;
        $sSQL = "
            SELECT *
            FROM $this->_sTabla   where usucodsx=" . $usucodsx;
        $arUsuarios = $this->query_object($sSQL);
//        var_dump($arSucursal['usuario'][0]['usucodsx']); //QUERY
//        var_dump($arSucursal[0]->usucodsx); //QUERY_OBJECT
        return $arUsuarios;
    }

    public function getUsuarioByDi($usudi) {
        $arUsuarios = null;
        $sSQL = "
            SELECT usudi
            FROM $this->_sTabla   where usudi=" . $usudi;
        $arUsuarios = $this->query_object($sSQL);
//        var_dump($arSucursal['usuario'][0]['usucodsx']); //QUERY
//        var_dump($arSucursal[0]->usucodsx); //QUERY_OBJECT
        return $arUsuarios;
    }

    public function getUsuarioCodigo($usucodigo) {
        $arUsuarios = null;
        $sSQL = "
            SELECT usucodsx,usucodigo
            FROM $this->_sTabla   where usucodigo='" . $usucodigo . "'";
        $arUsuarios = $this->query_object($sSQL);
//        var_dump($arSucursal['usuario'][0]['usucodsx']); //QUERY
//        var_dump($arSucursal[0]->usucodsx); //QUERY_OBJECT
        return $arUsuarios;
    }

    public function getUsuarioByCorreo($usucorreo) {
        $arUsuarios = null;
        $sSQL = "
            SELECT usucodsx, usucorreo, usulogin, usunombrecompleto
            FROM $this->_sTabla   where usucorreo='" . $usucorreo . "'";
        $arUsuarios = $this->query_object($sSQL);
//        var_dump($arSucursal['usuario'][0]['usucodsx']); //QUERY
//        var_dump($arSucursal[0]->usucodsx); //QUERY_OBJECT
        return $arUsuarios;
    }

    public function getUsuarioByLogin($usulogin) {
        $arUsuarios = null;
        $sSQL = "
            SELECT *
            FROM $this->_sTabla   where usulogin='$usulogin'";
        $arUsuarios = $this->query_object($sSQL);
//        var_dump($arSucursal['usuario'][0]['usucodsx']); //QUERY
//        var_dump($arSucursal[0]->usucodsx); //QUERY_OBJECT
        return $arUsuarios;
    }

    public function actualizarUsuario() {
        $usucodsx = $this->usucodsx;
        $tipodicodsx = $this->tipodicodsx;
        $provinciacodsx = $this->provinciacodsx;
        $usudi = $this->usudi;
        $usunombre = $this->usunombre;
        $usuapellido = $this->usuapellido;
        $ususexo = $this->ususexo;
        $usufechanacimiento = $this->usufechanacimiento;
        $usutelefono1 = $this->usutelefono1;
        $usutelefono2 = $this->usutelefono2;
        $usudireccion = $this->usudireccion;
        $usuciudad = $this->usuciudad;
        $usucorreo = $this->usucorreo;
        $usufoto = $this->usufoto;

        $sSQL = "UPDATE $this->_sTabla
               SET
                tipodicodsx='$tipodicodsx',
                provinciacodsx = '$provinciacodsx',
                usudi = '$usudi',
                usunombre = '$usunombre',
                usuapellido = '$usuapellido',
                ususexo = '$ususexo',
                usufechanacimiento = '$usufechanacimiento',
                usutelefono1 = '$usutelefono1',
                usutelefono2 = '$usutelefono2',
                usudireccion = '$usudireccion',
                usuciudad = '$usuciudad',
                usucorreo = '$usucorreo',
                usufoto = '$usufoto'
               WHERE usucodsx = $usucodsx";

        $this->execute($sSQL);
    }

    public function actualizarPasswd($usucodsx, $usupasswd) {

        $sSQL = "UPDATE $this->_sTabla
               SET
                usupasswd = '$usupasswd'
               WHERE usucodsx = $usucodsx";

        $this->execute($sSQL);
    }

    public function actualizarFechaVenPasswd($usucodsx, $usupasswdfechaven) {

        $sSQL = "UPDATE $this->_sTabla
               SET
                usupasswdfechaven = '$usupasswdfechaven'
               WHERE usucodsx = $usucodsx";

        $this->execute($sSQL);
    }

}

?>
